/*
* TFGame.h
*
* This is the main class for the Troops & Flags game.
* It is responsible for loading resources, splash screen, 
* the main menu, the gameplay, and the finalization.
* 
* Author: Rapid Dojo
* Date: Oct 19, 2007
*/

#include "TFConstants.h"
#include "TFInterfaceFactory.h"
#include "TFMenu.h"
#include "TFBoard.h"

#include <PA9.h>       // Include for PA_Lib

class TFGame
{
public:

	TFGame ();
	virtual ~TFGame ();

	/*
	* Initialize Screen
	* Initialize Sound
	* Load Resources
	* 
	*/
	HRESULT Initialize();

	/*
	* Iterates through splash screens
	* There are 4 screens to diplay
	* 1. Warning
	* 2. UNCC Logo
	* 3. Rapid Dojo Logo
	* 4. Main Game Logo
	*/
	HRESULT SplashIntro();

	/*
	* Starts the main game loop
	*/
	HRESULT RunGame();

	/*
	* Ends the game
	*/
	HRESULT ShutdownGame();

private:

	TFControllerInterface	* _controller;
	TFViewInterface			* _view;
	TFModelInterface		* _model;
	TFAIInterface			* _ai;
	TFRuleCheckerInterface	* _ruleChecker;

};
